every
如果我們想要確認陣列裡面的資料都符合條件,我們可以在陣列裡面使用 every 條件來篩選, return 後面的條件式如果全部符合條件就會回傳 true,如果沒有就是回傳 false。像是陣列 people 裡面只有一個物件的 money > 150 ,因此會回傳 false。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| let people = [ { name:'Leo', money:100 }, { name:'Peter', money:200 } ];
let ans = people.every(function(item){ return item.money > 150 });
console.log(ans)
|
some
和 every 最大的差異在於,陣列裡面只要有條件符合,就會回傳 true ,比如有有其中一個物件的 money > 150 ,最後就會回傳 true。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| let people = [ { name:'Leo', money:100 }, { name:'Peter', money:200 } ];
let ans = people.some(function(item){ return item.money > 150 });
console.log(ans)
|
reduce
參數 prev 代表先前的值,而 prev 的初始值就是 reduce 的第二個參數,像這範例就是 0,最後我們將陣列的值全部加起來,得到 300 的總和。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| let people = [ { name:'Leo', money:100 }, { name:'Peter', money:200 } ];
let ans = people.reduce(function(prev,item){ return prev+item.money },0);
console.log(ans);
|